//==================================================
// 作 者：曾浩
// 日 期：2012-03-15
// 描 述：介绍本文件所要完成的功能以及背景信息等等
//==================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CoreFrame.Core.Orm;

namespace MarchEstate.Manager.BusinesEntity
{
	[Serializable]
	[Table(TableName = "WY_Area", EntityType = EntityType.Table, IsGB = false)]
	public abstract class AbstractArea : CoreFrame.Business.AbstractBusines
	{
		private string _areacode;//区域编码
		/// <summary>
		/// 区域编码
		/// </summary>
        [Column(FieldName = "AreaCode", DataKey = true, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string AreaCode
		{
			get { return _areacode; }
			set { _areacode = value; }
		}
		private string _areaname;//名称
		/// <summary>
		/// 名称
		/// </summary>
		[Column(FieldName = "AreaName", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string AreaName
		{
			get { return _areaname; }
			set { _areaname = value; }
		}
		private int _buildingamount;//房屋栋数
		/// <summary>
		/// 房屋栋数
		/// </summary>
		[Column(FieldName = "BuildingAmount", DataKey = false, IsSingleQuote = false, Match = "", IsInsert = true)]
		public int BuildingAmount
		{
			get { return _buildingamount; }
			set { _buildingamount = value; }
		}
		private int _totalunits;//总套数
		/// <summary>
		/// 总套数
		/// </summary>
		[Column(FieldName = "TotalUnits", DataKey = false, IsSingleQuote = false, Match = "", IsInsert = true)]
		public int TotalUnits
		{
			get { return _totalunits; }
			set { _totalunits = value; }
		}
		private string _developers;//开发商
		/// <summary>
		/// 开发商
		/// </summary>
		[Column(FieldName = "Developers", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string Developers
		{
			get { return _developers; }
			set { _developers = value; }
		}
		private string _contractors;//承建商
		/// <summary>
		/// 承建商
		/// </summary>
		[Column(FieldName = "Contractors", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string Contractors
		{
			get { return _contractors; }
			set { _contractors = value; }
		}
		private string _location;//地理位置
		/// <summary>
		/// 地理位置
		/// </summary>
		[Column(FieldName = "Location", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string Location
		{
			get { return _location; }
			set { _location = value; }
		}
		private decimal _totalcovers;//总占地面积
		/// <summary>
		/// 总占地面积
		/// </summary>
		[Column(FieldName = "TotalCovers", DataKey = false, IsSingleQuote = false, Match = "", IsInsert = true)]
		public decimal TotalCovers
		{
			get { return _totalcovers; }
			set { _totalcovers = value; }
		}
		private decimal _totalconstruction;//总建筑面积
		/// <summary>
		/// 总建筑面积
		/// </summary>
		[Column(FieldName = "TotalConstruction", DataKey = false, IsSingleQuote = false, Match = "", IsInsert = true)]
		public decimal TotalConstruction
		{
			get { return _totalconstruction; }
			set { _totalconstruction = value; }
		}
		private decimal _totalusearea;//总使用面积
		/// <summary>
		/// 总使用面积
		/// </summary>
		[Column(FieldName = "TotalUseArea", DataKey = false, IsSingleQuote = false, Match = "", IsInsert = true)]
		public decimal TotalUseArea
		{
			get { return _totalusearea; }
			set { _totalusearea = value; }
		}
		private decimal _greenrate;//绿化率
		/// <summary>
		/// 绿化率
		/// </summary>
		[Column(FieldName = "GreenRate", DataKey = false, IsSingleQuote = false, Match = "", IsInsert = true)]
		public decimal GreenRate
		{
			get { return _greenrate; }
			set { _greenrate = value; }
		}
        private DateTime _begindate;//开工日期
        /// <summary>
        /// 开工日期
        /// </summary>
        [Column(FieldName = "BeginDate", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
        public DateTime BeginDate
        {
            get { return _begindate; }
            set { _begindate = value; }
        }
        private DateTime _completedate;//竣工日期
        /// <summary>
        /// 竣工日期
        /// </summary>
        [Column(FieldName = "CompleteDate", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
        public DateTime CompleteDate
        {
            get { return _completedate; }
            set { _completedate = value; }
        }
        private DateTime _enterdate;//入伙日期
        /// <summary>
        /// 入伙日期
        /// </summary>
        [Column(FieldName = "EnterDate", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
        public DateTime EnterDate
        {
            get { return _enterdate; }
            set { _enterdate = value; }
        }
		private string _pictureurl;//图片信息
		/// <summary>
		/// 图片信息
		/// </summary>
		[Column(FieldName = "PictureUrl", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string PictureUrl
		{
			get { return _pictureurl; }
			set { _pictureurl = value; }
		}
		private string _wbm;//五笔码
		/// <summary>
		/// 五笔码
		/// </summary>
		[Column(FieldName = "Wbm", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string Wbm
		{
			get { return _wbm; }
			set { _wbm = value; }
		}
		private string _pym;//拼音码
		/// <summary>
		/// 拼音码
		/// </summary>
		[Column(FieldName = "Pym", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string Pym
		{
			get { return _pym; }
			set { _pym = value; }
		}
		private int _deleteflag;//删除标志
		/// <summary>
		/// 删除标志
		/// </summary>
		[Column(FieldName = "DeleteFlag", DataKey = false, IsSingleQuote = false, Match = "", IsInsert = true)]
		public int DeleteFlag
		{
			get { return _deleteflag; }
			set { _deleteflag = value; }
		}
		private string _memo;//备注
		/// <summary>
		/// 备注
		/// </summary>
		[Column(FieldName = "Memo", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string Memo
		{
			get { return _memo; }
			set { _memo = value; }
		}

        public abstract bool Save(string type);
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="_areaCode">区域编码</param>
        /// <returns></returns>
        public abstract bool Delete(string _areaCode);

        /// <summary>
        /// 得到区域列表
        /// </summary>
        /// <returns></returns>
        public abstract List<AbstractArea> GetAreaList();

        /// <summary>
        /// 得到区域Code Name
        /// </summary>
        /// <returns></returns>
        public abstract System.Data.DataTable GetAreaFieldList();
	}
}